home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / StartupTools / exept49.readme < prev    next >
Text File  |  1996-09-26  |  7KB  |  146 lines

  1. Short:    ExecPatch 4.9 - KS 37.175+ Speedup Patch
  2. Author:   *Art
  3. Uploader: Jess Sosnoski (jlsosn@planetx.bloomu.edu)
  4. Type:     util/boot
  5.  
  6.                  =====================================
  7.                       ExecPatch 4.9 (25 May 1994)
  8.                  Copyright (C) 1993-1994 Arthur Hagen.
  9.                  =====================================
  10.        This software is FreeWare, and NOT in the Public Domain!
  11.  
  12.            Requires KickStart 36.xx or above, CLI use only.
  13.       Should work with all processor types / FPU-configurations.
  14.         Requires a few hundred bytes of FAST-mem to be present.
  15.  
  16. -----------------------------------------------------------------------
  17.  
  18. The Amiga is a multitasking machine (no kidding!), and will happily
  19. switch its CPU use between several tasks and processes too fast for the
  20. user really to notice.  This task switching system is the whole basis
  21. for the Amiga's multitasking capabilities, and has, naturally, been
  22. coded in efficient assembly to reduce overhead as much as possible.
  23. Even so, several of the basis multitasking functions of the system
  24. could be optimised even further, thus speeding up the machine when
  25. several tasks are running simultaneously, and/or the CPU use is high.
  26. So, I wrote this little utility that will replace some of the systems
  27. key functions with more speed-optimised, but excactly equal code.  Just
  28. put ExecPatch in your S:User-Startup or similar.
  29.  
  30. The functions that will be modified in exec.library are:
  31. Switch()       Dispatch()     Exception()    Remove()
  32. Enqueue()      Wait()         Signal()       WaitPort()
  33. DoIO()         WaitIO()       CheckIO()      ExitIntr()
  34. Schedule()     Reschedule()   Permit()       ObtainSemaphore() (*)
  35. SetExcept()    SetSignal()
  36.  
  37. (*) Under 3.0/3.1 only
  38.  
  39. In addition, if you have a CPU without cache, the cache functions in
  40. exec.library that does nothing at all will be replaced with a return
  41. statement in the jumptable itself.  The functions will be checked first
  42. to see if they really does nothing but return, so everything should be
  43. safe.
  44.  
  45. -----------------------------------------------------------------------
  46.  
  47. Six executable files are now included in the archive:
  48.  
  49. ExecPatch       : Works on all 68000/010/020/030-equipped machines
  50.                   without FPU coprocessors like the 68881 or 68882.
  51. ExecPatch_010   : As above, but will not work on 68000-machines.
  52.                   A few cycles faster than the "standard" version.
  53. ExecPatch_881   : For 68040 or 68020/30-machines equipped with a FPU.
  54.  
  55. ExecPatch_LED,    Equal to the above versions, but turns the power LED
  56. ExecPatch_010LED, dark when the CPU is idle.  This will permanently
  57. ExecPatch_881LED: enable the low-pass audio filter for all tasks, and
  58.                   might interfere with some audio players.
  59.                   Note that these LED patches will steal FAR less CPU
  60.                   time than the program "Idle-LED" or similar programs
  61.                   because it will not require extra interrupts or any
  62.                   tasks that must be scheduled, but is a part of the
  63.                   scheduling process itself.
  64.  
  65. -----------------------------------------------------------------------
  66.  
  67. How much does ExecPatch help?
  68. =============================
  69. ExecPatch will only speed up the machine in a multitasking situation,
  70. so speed test programs will not report any increased speed, unless the
  71. test can be made with multitasking enabled.  A fair test of how much
  72. this program will help YOU is difficult to propose, but you might try
  73. something like running AIBB with multitasking ON, priority 0, while
  74. your favourite program is doing something in the background.  Then do
  75. the same test again, but start ExecPatch first.
  76. The speed increase will depend on several things, among them are the
  77. speed of the FAST-MEM and the CPU type.  But count on ExecPatch being
  78. faster except for on a slow-mem-only-expanded machine.
  79.  
  80. ----------------------------------------------------------------------
  81.  
  82. Bugs/caveats:
  83. =============
  84. 1) Some virus killers (like VirusChecker and my own VMon) might report
  85.    that vectors have changed (especially the DoIO vector).  This is as
  86.    it should be, as the vector really has changed, and it is nothing to
  87.    worry about.  If there was a virus lurking on that vector, it would
  88.    have been replaced by ExecPatch's routine.
  89. 2) ExecPatch will steal a couple of hundred bytes permanently, and
  90.    these will not be released to the system except at reboot.
  91. 3) If you *only* have chip- and slow-mem on your system, don't expect
  92.    too much from patches like this, as running code from ROM will
  93.    usually be faster, especially when displaying graphics.
  94.  
  95. -----------------------------------------------------------------------
  96.  
  97. Changes since version 4.8:
  98.    Should now work on 2.0/2.1-equipped machines.
  99.    Most patches 16-byte-aligned for maximum performance with
  100.    burst-ram and "advanced" processors.
  101. Changes since version 4.6:
  102.    SetExcept() and SetSignal() patched.  Minor code enhancements.
  103.    Should now work on 68040-equipped machines.
  104. Changes since version 4.4:
  105.    Source rewritten.  ObtainSemaphore() patched.
  106. Changes since version 4.3:
  107.    Permit patch added.  A few minor enhancements.  LED versions for all
  108.    processor/fpu-types included in archive.
  109. Changes since version 4.2:
  110.    Had to make a kludge for the WaitPort()-patch, since EaglePlayer
  111.    expected register A0 to be unchanged if there already were messages
  112.    on the list.  This really is a bug in the players code (german pro-
  113.    grammers!), but it should now work.  Most patches longword-aligned
  114.    for performance increase on 68020+.
  115. Changes since version 3.0:
  116.    Four more patches made.  Just a weeny bit faster code.
  117. Changes since version 2.1:
  118.    Should now work on OS 3.0+ machines.
  119.    Optimised slightly.
  120.  
  121. -----------------------------------------------------------------------
  122.  
  123.                              CrippleWare?
  124.                              ============
  125.  
  126. Yes - this program is CrippleWare.  If you like it, just send me a
  127. cripple instead of payment.
  128.  
  129. Enjoy,
  130. *Art
  131.  
  132.  
  133. ============================= Archive contents =============================
  134.  
  135. Original  Packed Ratio    Date     Time    Name
  136. -------- ------- ----- --------- --------  -------------
  137.     1832    1396 23.7% 18-Jun-94 04:24:56  ExecPatch
  138.     1848    1402 24.1% 18-Jun-94 04:25:12  ExecPatch_LED
  139.     1816    1387 23.6% 18-Jun-94 04:25:04  ExecPatch_010
  140.     1832    1399 23.6% 18-Jun-94 04:25:20  ExecPatch_010LED
  141.     1872    1437 23.2% 15-Jun-94 00:19:18  ExecPatch_881
  142.     1888    1450 23.1% 18-Jun-94 04:25:28  ExecPatch_881LED
  143.     5922    2421 59.1% 18-Jun-94 04:37:10  ExecPatch.DOC
  144. -------- ------- ----- --------- --------
  145.    17010   10892 35.9% 16-Dec-94 00:17:42   7 files
  146.